home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / BBSPrefsSrc / bbsprefs.h < prev    next >
C/C++ Source or Header  |  1995-06-27  |  11KB  |  397 lines

  1. /* BBSPrefs */
  2.  
  3. extern struct List BBS_List;
  4.  
  5. struct Node BBS_Nodes[]={
  6.     { &BBS_Nodes[1],(struct Node *) &BBS_List.lh_Head,0,0,"Access Groups" },
  7.     { &BBS_Nodes[2],&BBS_Nodes[0],0,0,"Archivers" },
  8.     { &BBS_Nodes[3],&BBS_Nodes[1],0,0,"Editors" },
  9.     { &BBS_Nodes[4],&BBS_Nodes[2],0,0,"File Bases" },
  10.     { &BBS_Nodes[5],&BBS_Nodes[3],0,0,"Menus" },
  11.     { &BBS_Nodes[6],&BBS_Nodes[4],0,0,"Message Bases" },
  12.     { &BBS_Nodes[7],&BBS_Nodes[5],0,0,"News" },
  13.     { &BBS_Nodes[8],&BBS_Nodes[6],0,0,"Nodes" },
  14.     { &BBS_Nodes[9],&BBS_Nodes[7],0,0,"Protocols" },
  15.     { (struct Node *) &BBS_List.lh_Tail,&BBS_Nodes[8],0,0,"System" }
  16. };
  17.  
  18. struct List BBS_List={
  19.     &BBS_Nodes[0],
  20.     NULL,
  21.     &BBS_Nodes[8],
  22.     0,0
  23. };
  24.  
  25. ProjectDefinition(bbsprefs_trwintags)
  26.     {
  27.         WindowID(1),WindowPosition(TRWP_CENTERDISPLAY),
  28.         WindowTitle("BBS Preferences"),
  29.  
  30.         BeginMenu("Project"),
  31.             MenuItem("?_About...",101),
  32.             ItemBarlabel,
  33.             MenuItem("Q_Quit",102),
  34.  
  35.         VertGroupA,
  36.             Space,
  37.             HorizGroupA,
  38.                 Space,
  39.                 ListSel(&BBS_List,1,0),TRAT_MinWidth,32,TRAT_MinHeight,10,
  40.                 Space,
  41.             EndGroup,
  42.             Space,
  43.         EndGroup,
  44.  
  45.         EndProject
  46.     };
  47.  
  48. /* Prefs */
  49.  
  50. struct BufferNode {
  51.     struct Node bn_Node;
  52.     BYTE bn_Buffer[41];
  53. };
  54.  
  55. BYTE path_buff[33];
  56.  
  57. #define listprefs_trwintags NamedFrameBox("List"),HorizGroupA,Space,VertGroupA,Space,ListSS(NULL,51,0,~0),StringGadget(NULL,52),Space,HorizGroupEA,Button("_Add",55),Button("D_elete",56),EndGroup,HorizGroupEA,Button("Move _Up",57),Button("Move _Down",58),EndGroup,Space,EndGroup,Space,EndGroup
  58. #define treeprefs_trwintags NamedFrameBox("Tree"),HorizGroupA,Space,VertGroupA,Space,TextBox(NULL,59,32),ListSS(NULL,51,0,~0),StringGadget(NULL,52),Space,HorizGroupEA,Button("Parent",53),Button("Child",54),EndGroup,HorizGroupEA,Button("_Add",55),Button("D_elete",56),EndGroup,HorizGroupEA,Button("Move _Up",57),Button("Move _Down",58),EndGroup,Space,EndGroup,Space,EndGroup
  59.  
  60. #define BeginListPrefs(title,id) WindowID(id),WindowPosition(TRWP_CENTERDISPLAY),WindowTitle(title),BeginMenu("Project"),MenuItem("Q_Quit",101),HorizGroupEA,Space,VertGroupA,Space,listprefs_trwintags,Space,EndGroup,Space,VertGroupA,Space,VertGroupSA,NamedFrameBox("Fields"),HorizGroupA,Space,VertGroupA
  61. #define BeginTreePrefs(title,id) WindowID(id),WindowPosition(TRWP_CENTERDISPLAY),WindowTitle(title),BeginMenu("Project"),MenuItem("Q_Quit",101),HorizGroupEA,Space,VertGroupA,Space,treeprefs_trwintags,Space,EndGroup,Space,VertGroupA,Space,VertGroupSA,NamedFrameBox("Fields"),HorizGroupA,Space,VertGroupA
  62. #define EndPrefs EndGroup,Space,EndGroup,Space,EndGroup,Space,EndGroup,Space,EndGroup
  63. #define PrefsStringGadget(text,id,maxchars) HorizGroupEAC,HorizGroupSAC,Space,TextID(text,id),EndGroup,Space,HorizGroupAC,StringGadget(NULL,id),TRAT_Value,maxchars,EndGroup,EndGroup
  64. #define PrefsGetFileStringGadget(text,id,maxchars) HorizGroupEAC,HorizGroupSAC,Space,TextID(text,id),EndGroup,Space,HorizGroupAC,StringGadget(NULL,id),TRAT_Value,maxchars,GetFileButton(id+1),EndGroup,EndGroup
  65. #define PrefsGetDrawerStringGadget(text,id,maxchars) HorizGroupEAC,HorizGroupSAC,Space,TextID(text,id),EndGroup,Space,HorizGroupAC,StringGadget(NULL,id),TRAT_Value,maxchars,GetDrawerButton(id+1),EndGroup,EndGroup
  66. #define PrefsCycleGadget(text,labels,id) HorizGroupEAC,HorizGroupSAC,Space,TextID(text,id),EndGroup,Space,HorizGroupAC,CycleGadget(labels,0,id),EndGroup,EndGroup
  67. #define PrefsCheckboxGadget(text,id) HorizGroupEAC,HorizGroupSAC,Space,TextID(text,id),EndGroup,Space,HorizGroupAC,CheckBox(id),EndGroup,EndGroup
  68. #define PrefsTextGadget(text,id,minwidth) HorizGroupEAC,HorizGroupSAC,Space,TextN(text),EndGroup,Space,TextBox(NULL,id,minwidth),EndGroup
  69. #define PrefsGetEntryTextGadget(text,id,minwidth) HorizGroupEAC,HorizGroupSAC,Space,TextN(text),EndGroup,Space,HorizGroupAC,_TextBox,HorizGroupAC,TextBox(NULL,id,minwidth),EndGroup,GetEntryButton(id+1),EndGroup,EndGroup
  70.  
  71. /* AccessGroupPrefs */
  72.  
  73. BYTE ag_days_buff[11];
  74. BYTE ag_sessiontimelimit_buff[6],ag_inactivitytimelimit_buff[6];
  75. BYTE ag_accesslevel_buff[4],ag_ratiobyte_buff[4],ag_ratiofile_buff[4];
  76.  
  77. ProjectDefinition(accessgroupprefs_trwintags)
  78.     {
  79.         BeginListPrefs("Access Group Preferences",1),
  80.             Space,
  81.             PrefsStringGadget("Access _Level",1,3),
  82.             Space,
  83.             PrefsStringGadget("_Session Time Limit",2,5),
  84.             Space,
  85.             PrefsStringGadget("_Inactivity Time Limit",3,5),
  86.             Space,
  87.             PrefsStringGadget("Ratio _Byte",4,3),
  88.             Space,
  89.             PrefsStringGadget("Ratio _File",5,3),
  90.             Space,
  91.             PrefsStringGadget("Da_ys",6,10),
  92.             Space,
  93.         EndPrefs,
  94.  
  95.         EndProject
  96.     };
  97.  
  98. /* ArchiverPrefs */
  99.  
  100. BYTE arc_extension[4],arc_addcommand[256],arc_extractcommand[256],arc_viewcommand[256];
  101.  
  102. ProjectDefinition(archiverprefs_trwintags)
  103.     {
  104.         BeginListPrefs("Archiver Preferences",2),
  105.             Space,
  106.             PrefsStringGadget("Ex_tension",1,3),
  107.             Space,
  108.             PrefsStringGadget("Add _Command",2,255),
  109.             Space,
  110.             PrefsStringGadget("E_xtract Command",3,255),
  111.             Space,
  112.             PrefsStringGadget("_View Command",4,255),
  113.             Space,
  114.         EndPrefs,
  115.  
  116.         EndProject
  117.     };
  118.  
  119. /* EditorPrefs */
  120.  
  121. BYTE *type_edlabels[]={ "Standard","Visual","Graphical",NULL };
  122.  
  123. BYTE ed_command[256];
  124. BYTE ed_stack_buff[11];
  125.  
  126. ProjectDefinition(editorprefs_trwintags)
  127.     {
  128.         BeginListPrefs("Editor Preferences",4),
  129.             Space,
  130.             PrefsCycleGadget("_Type",type_edlabels,1),
  131.             Space,
  132.             PrefsGetFileStringGadget("_Command",2,255),
  133.             Space,
  134.             PrefsStringGadget("_Stack",4,10),
  135.             Space,
  136.         EndPrefs,
  137.  
  138.         EndProject
  139.     };
  140.  
  141. /* FileBasePrefs */
  142.  
  143. BYTE default_directory[256];
  144.  
  145. BYTE fb_accessrange[21],fb_group[41],fb_directory[256];
  146. BYTE fb_diskspacerequired[11],fb_days[11];
  147.  
  148. ProjectDefinition(filebaseprefs_trwintags)
  149.     {
  150.         BeginTreePrefs("File Base Preferences",5),
  151.             Space,
  152.             PrefsStringGadget("Access _Range",1,20),
  153.             Space,
  154.             PrefsStringGadget("_Group",2,40),
  155.             Space,
  156.             PrefsGetDrawerStringGadget("Direc_tory",3,255),
  157.             Space,
  158.             PrefsStringGadget("Disk _Space Req (K)",5,10),
  159.             Space,
  160.             PrefsStringGadget("Da_ys",6,10),
  161.             Space,
  162.             PrefsCheckboxGadget("Read _Only",7),
  163.             Space,
  164.             PrefsCheckboxGadget("Auto _Join",8),
  165.             Space,
  166.         EndPrefs,
  167.  
  168.         EndProject
  169.     };
  170.  
  171. /* Menu Prefs */
  172.  
  173. BYTE mn_accessrange[21],mn_character[2],mn_defaultchar[2],mn_number[2],mn_prompt[64],mn_command[64];
  174.  
  175. ProjectDefinition(menuprefs_trwintags)
  176.     {
  177.         BeginTreePrefs("Menu Preferences",6),
  178.             Space,
  179.             PrefsStringGadget("Access _Range",1,20),
  180.             Space,
  181.             PrefsStringGadget("_Character",2,1),
  182.             Space,
  183.             PrefsStringGadget("De_fault",3,1),
  184.             Space,
  185.             PrefsStringGadget("_Number",4,1),
  186.             Space,
  187.             PrefsStringGadget("_Prompt",5,63),
  188.             Space,
  189.             PrefsStringGadget("Co_mmand",6,63),
  190.             Space,
  191.         EndPrefs,
  192.  
  193.         EndProject
  194.     };
  195.  
  196. /* MessageBasePrefs */
  197.  
  198. BYTE default_quote_header[81];
  199.  
  200. BYTE mb_accessrange[21],mb_group[21],mb_quoteheader[81],mb_days[11];
  201.  
  202. ProjectDefinition(messagebaseprefs_trwintags)
  203.     {
  204.         BeginTreePrefs("Message Base Preferences",7),
  205.             Space,
  206.             PrefsStringGadget("Access _Range",1,20),
  207.             Space,
  208.             PrefsStringGadget("_Group",2,20),
  209.             Space,
  210.             PrefsStringGadget("_Quote Header",3,80),
  211.             Space,
  212.             PrefsStringGadget("_Days",6,10),
  213.             Space,
  214.             PrefsCheckboxGadget("Read _Only",4),
  215.             Space,
  216.             PrefsCheckboxGadget("Auto _Join",5),
  217.             Space,
  218.         EndPrefs,
  219.  
  220.         EndProject
  221.     };
  222.  
  223. /* NewsPrefs */
  224.  
  225. BYTE date_buff[64];
  226.  
  227. BYTE nws_accessrange[21],nws_file[256];
  228.  
  229. ProjectDefinition(newsprefs_trwintags)
  230.     {
  231.         BeginListPrefs("News Preferences",8),
  232.             Space,
  233.             PrefsStringGadget("Access _Range",1,20),
  234.             Space,
  235.             PrefsGetFileStringGadget("_File",2,255),
  236.             Space,
  237.             PrefsTextGadget("Date",4,17),
  238.             Space,
  239.         EndPrefs,
  240.  
  241.         EndProject
  242.     };
  243.  
  244. /* NodePrefs */
  245.  
  246. BYTE default_node_command[256];
  247.  
  248. BYTE *type_ndlabels[]={ "Local","Remote",NULL };
  249.  
  250. BYTE nd_accessrange[21];
  251. BYTE nd_device[33];
  252. BYTE nd_unit[11],nd_buffersize[11],nd_baud[11];
  253. BYTE nd_command[256];
  254.  
  255. ProjectDefinition(nodeprefs_trwintags)
  256.     {
  257.         BeginListPrefs("Node Preferences",9),
  258.             Space,
  259.             PrefsStringGadget("Access _Range",1,20),
  260.             Space,
  261.             PrefsCycleGadget("_Type",type_ndlabels,2),
  262.             Space,
  263.             PrefsGetFileStringGadget("De_vice",3,32),
  264.             Space,
  265.             PrefsStringGadget("U_nit",5,10),
  266.             Space,
  267.             PrefsStringGadget("Buffer _Size",6,10),
  268.             Space,
  269.             PrefsStringGadget("_Baud",7,10),
  270.             Space,
  271.             PrefsCheckboxGadget("_Handshaking",8),
  272.             Space,
  273.             PrefsCheckboxGadget("Aut_o Baud",9),
  274.             Space,
  275.             PrefsCheckboxGadget("_Front End",10),
  276.             Space,
  277.             PrefsStringGadget("_Command",11,255),
  278.             Space,
  279.         EndPrefs,
  280.  
  281.         EndProject
  282.     };
  283.  
  284. /* ProtocolPrefs */
  285.  
  286. BYTE pr_sendcommand[256],pr_receivecommand[256];
  287.  
  288. ProjectDefinition(protocolprefs_trwintags)
  289.     {
  290.         BeginListPrefs("Protocol Preferences",10),
  291.             Space,
  292.             PrefsStringGadget("_Send Command",1,255),
  293.             Space,
  294.             PrefsStringGadget("_Receive Command",2,255),
  295.             Space,
  296.             PrefsCheckboxGadget("_Batch",3),
  297.             Space,
  298.             PrefsCheckboxGadget("Bidirec_tional",4),
  299.             Space,
  300.         EndPrefs,
  301.  
  302.         EndProject
  303.     };
  304.  
  305. /* SystemPrefs */
  306.  
  307. BYTE sys_inputcolor[81],sys_headercolor[81],sys_outputcolor[81],sys_promptcolor[81],sys_systemcolor[81],sys_fileiddizextractor[81];
  308.  
  309. ProjectDefinition(systemprefs_trwintags)
  310.     {
  311.         WindowID(11),
  312.             WindowPosition(TRWP_CENTERDISPLAY),
  313.             WindowTitle("System Preferences"),
  314.  
  315.         BeginMenu("Project"),
  316.             MenuItem("Q_Quit",101),
  317.  
  318.         HorizGroupA,
  319.             Space,
  320.             VertGroupA,
  321.                 Space,
  322.                 PrefsStringGadget("_Header Color",5,80),
  323.                 Space,
  324.                 PrefsStringGadget("_Input Color",6,80),
  325.                 Space,
  326.                 PrefsStringGadget("_Output Color",7,80),
  327.                 Space,
  328.                 PrefsStringGadget("_Prompt Color",8,80),
  329.                 Space,
  330.                 PrefsStringGadget("_System Color",9,80),
  331.                 Space,
  332.                 PrefsStringGadget("_File ID Diz Extractor",12,80),
  333.                 Space,
  334.                 PrefsCheckboxGadget("Only _Real Names",11),
  335.                 Space,
  336.             EndGroup,
  337.             Space,
  338.         EndGroup,
  339.     };
  340.  
  341. /* Additional Prefs */
  342.  
  343. #define PREFS_ListMode (1<<0)
  344. #define PREFS_TreeMode (1<<1)
  345.  
  346. ULONG prefs_flags[]={
  347.     PREFS_ListMode, /* Access Groups */
  348.     PREFS_ListMode, /* Archivers */
  349.     PREFS_ListMode, /* Editors */
  350.     PREFS_ListMode|PREFS_TreeMode, /* File Bases */
  351.     PREFS_ListMode|PREFS_TreeMode, /* Menus */
  352.     PREFS_ListMode|PREFS_TreeMode, /* Message Bases */
  353.     PREFS_ListMode, /* News */
  354.     PREFS_ListMode, /* Nodes */
  355.     PREFS_ListMode, /* Protocols */
  356.     NULL /* System */
  357. };
  358.  
  359. APTR prefs_trwintags[]={
  360.     accessgroupprefs_trwintags,
  361.     archiverprefs_trwintags,
  362.     editorprefs_trwintags,
  363.     filebaseprefs_trwintags,
  364.     menuprefs_trwintags,
  365.     messagebaseprefs_trwintags,
  366.     newsprefs_trwintags,
  367.     nodeprefs_trwintags,
  368.     protocolprefs_trwintags,
  369.     systemprefs_trwintags
  370. };
  371.  
  372. BYTE *prefs_path[]={
  373.     "AccessGroups",
  374.     "Archivers",
  375.     "Editors",
  376.     "FileBases",
  377.     "Menus",
  378.     "MessageBases",
  379.     "News",
  380.     "Nodes",
  381.     "Protocols",
  382.     ""
  383. };
  384.  
  385. ULONG prefs_type[]={
  386.     CFGTYP_AccessGroup,
  387.     CFGTYP_Archiver,
  388.     CFGTYP_Editor,
  389.     CFGTYP_FileBase,
  390.     CFGTYP_Menu,
  391.     CFGTYP_MessageBase,
  392.     CFGTYP_News,
  393.     CFGTYP_Node,
  394.     CFGTYP_Protocol,
  395.     CFGTYP_System
  396. };
  397.